﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KTX.Data
{
  public partial  class DienNuoc : System.ComponentModel.IDataErrorInfo
    {
      public decimal TienDaDung
      {
          get
          {
             return this.ChiTietThang.Sum(p=>p.TongTien);
          }
      }
      public decimal Tra
      {
          get
          {
              return this.SoTien - TienDaDung;
          }
      }
        public string Error
        {
            get
            {
                if (this.EntityState == System.Data.EntityState.Added || this.EntityState == System.Data.EntityState.Modified)
                {
                    StringBuilder sb = new StringBuilder();


                    if (!String.IsNullOrWhiteSpace(this["MaPhong"]))
                        sb.AppendLine(this["MaPhong"]);

                    if (!String.IsNullOrWhiteSpace(this["HocKy"]))
                        sb.AppendLine(this["HocKy"]);

                    if (!String.IsNullOrWhiteSpace(this["NamHoc"]))
                        sb.AppendLine(this["NamHoc"]);

                    if (!String.IsNullOrWhiteSpace(this["SoTien"]))
                        sb.AppendLine(this["SoTien"]);

                    if (!String.IsNullOrWhiteSpace(this["TraLai"]))
                        sb.AppendLine(this["TraLai"]);


                    string errors = sb.ToString();
                    return !String.IsNullOrEmpty(errors) ? errors : String.Empty;
                }
                else
                {
                    return String.Empty;
                }
            }
        }

        public string this[string columnName]
        {
            get
            {
                if (this.EntityState == System.Data.EntityState.Added || this.EntityState == System.Data.EntityState.Modified)
                {
                    switch (columnName)
                    {
                        case "MaPhong":
                            return this.Phong==null? "Chưa có phòng!" : String.Empty;
                        case "NamHoc":
                            return this.NamHoc<=0 ? "Chưa chọn năm học!" : String.Empty;
   
                        case "SoTien":
                            return this.SoTien<=0 ? "Số tiền đóng chưa hợp lệ!" : String.Empty;

                        case "TraLai":
                            return this.TraLai<0 ? "Số tiền đã trả lại chưa hợp lệ!" : String.Empty;

                        default:
                            return String.Empty;
                    }
                }
                else
                {
                    return String.Empty;
                }
            }
        }
    }
}

//MaPhong
//HocKy
//NamHoc
//Ngay
//SoTien
//TraLai